package cn.echase.ecare.yinfayun.service;

import cn.echase.ecare.yinfayun.domain.dto.AssessBaseResDto;
import cn.echase.ecare.yinfayun.domain.dto.AssessInfoDto;
import cn.echase.ecare.yinfayun.domain.dto.GetAssessInfoReqDto;
import cn.echase.ecare.yinfayun.domain.entity.AssessInfo;
import cn.echase.ecare.yinfayun.domain.vo.AssesElderMedicineVo;
import cn.echase.ecare.yinfayun.domain.vo.AssessInfoVo;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.service.IService;
import org.dromara.common.mybatis.core.page.TableDataInfo;

import java.util.List;

/**
 * @Title: IAssessInfoService
 * @Author lidisong
 * @Package cn.echase.ecare.template.assess.service.impl
 * @Date 06/05/2025 星期二 11:30 上午
 * @description:
 */
public interface IAssessInfoService extends IService<AssessInfo> {

    /** 评估列表导出（新） */
    JSONObject infoListExport(AssessInfoDto assessInfoDto);

    /** 评估信息列表（新） */
    TableDataInfo<AssessInfoVo> infoListRefactor(AssessInfoDto assessInfoDto);

    /** 根据AssessNo获取assess详细信息（新） */
    AssessInfoVo queryByAssessNo(AssessInfoDto assessInfoDto);

    AssessInfoVo getAssessInfo(GetAssessInfoReqDto getAssessInfoReqDto);

    /** 获取机构历史评估地点（新） */
    List<String> getHistoryAssessAddressList(String orgId);

    /** 确认评估 更新评估结果（新） */
    AssessBaseResDto updateResult(AssessInfoDto assessInfoDto);

    /** 根据评估编号查询评估打印信息（新） */
    JSONObject queryAssessPrintData(String assessNo, String key) throws Exception;

    /** 人员评估情况中的服药情况（新） */
    AssesElderMedicineVo initAssesElderMedicineVo(JSONArray dataArray);

    /** 删除评估信息（新） */
    boolean delete(String assessNo);

    /** 根据长者id查询未完成评估信息（新） */
    AssessInfoVo unCompleteAssess(AssessInfoDto assessInfoDto);

    /** 开始评估插入基本信息（新） */
    AssessBaseResDto add(AssessInfoDto assessInfoDto);

}
